package com.allwees.bs.c.module.order.repository;

import com.allwees.bs.c.module.base.repository.BaseRepository;
import com.allwees.bs.c.module.order.entity.OrderSkuSnapEntity;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

import java.util.List;
import java.util.Set;

public interface OrderSkuSnapRepository extends BaseRepository<OrderSkuSnapEntity, Integer> {
//    @Query(
//    		"SELECT osi FROM OrderSnapItemEntity osi"
//    		+ " INNER JOIN osi.order os"
//    		+ " INNER JOIN OrderEntity o on o.uuid=os.orderUuid"
//    		+ " WHERE o.no = :orderUuid AND osi.skuUuid = :skuUuid")
	@Query("SELECT osi FROM OrderSkuSnapEntity osi WHERE osi.orderUuid = :orderUuid AND osi.skuUuid = :skuUuid")
    OrderSkuSnapEntity findList(@Param("orderUuid")String orderUuid, @Param("skuUuid") String skuUuid);

    List<OrderSkuSnapEntity> findByOrderUuidIn(Set<String> orderUuids);

    List<OrderSkuSnapEntity> getByOrderUuid(String orderUuid);

    OrderSkuSnapEntity getByOrderItemUuid(@Param("orderItemUuid") String orderItemUuid);

  /*  @Query("SELECT count(1) FROM OrderSkuSnapEntity osi WHERE osi.userUuid = :userUuid AND osi.marketingType = :marketingType AND osi.skuUuid = :skuUuid ")
      long countByFreeGiftAndUserAndSkuUuid(@Param("userUuid") String userUuid, @Param("marketingType") Integer marketingType, @Param("skuUuid") String skuUuid);
  */
}
